using System;
using System.Collections.Generic;
using BLL.Model.Menu;
using BLL.Utility;

namespace BLL.Interface.Menu
{
	public interface IMenuInfo
	{
		bool AddMenuInfo(MenuInfo menuInfo);

		bool AddMenuInfo(IList<MenuInfo> menuInfoList);
		
		bool UpdateMenuInfo(MenuInfo menuInfo);
		
		bool DeleteMenuInfoById(int id);

		bool DeleteMenuInfoById(IList<int> idList);

		bool DeleteAllMenuInfo();

	    bool ReOrder(int id1, int id2);

		IList<MenuInfo> GetAllMenuInfo();

		MenuInfo FindMenuInfoById(int id , bool tracking = false);
		
		IList<MenuInfo> GetMenuInfoByFilter(dynamic condition, Tuple<string, string> sort, PageInfo page);
	}

}
